#!/bin/bash

# 股票分析系统一键安装和启动脚本
# 包含定时任务设置、依赖安装和系统启动

echo "🚀 股票分析系统一键安装和启动脚本"
echo "======================================="

# 检查是否以root权限运行
if [ "$EUID" -ne 0 ]; then
  echo "⚠️  请以root权限运行此脚本"
  echo "💡 使用: sudo bash setup_and_start.sh"
  exit 1
fi

# 设置工作目录
WORK_DIR="/home/Test"
cd "$WORK_DIR" || {
    echo "❌ 错误: 无法进入目录 $WORK_DIR"
    exit 1
}

echo "🔧 当前工作目录: $(pwd)"

# 1. 添加定时任务
echo "🕒 设置定时任务..."
cat > /home/Test/new_crontab << 'EOF'
# 每5分钟执行端口监控和自动提交脚本
*/5 * * * * /home/Test/port_monitor.sh
*/5 * * * * /home/Test/auto_commit.sh

# 每天15:01执行分析脚本
1 15 * * * /home/Test/ANA/run_analyzer.sh
EOF

# 应用定时任务
crontab /home/Test/new_crontab
if [ $? -eq 0 ]; then
    echo "✅ 定时任务设置成功"
else
    echo "❌ 定时任务设置失败"
    exit 1
fi

# 显示已设置的定时任务
echo "📋 当前定时任务列表:"
crontab -l
echo ""

# 2. 安装Python依赖
echo "🐍 安装Python依赖..."
if [ -f "requirements.txt" ]; then
    pip3 install -r requirements.txt
    if [ $? -eq 0 ]; then
        echo "✅ Python依赖安装成功"
    else
        echo "❌ Python依赖安装失败"
        exit 1
    fi
else
    echo "⚠️  未找到requirements.txt文件"
fi
echo ""

# 3. 安装前端依赖
echo "🌐 安装前端依赖..."
if [ -d "frontend" ]; then
    cd frontend
    npm install
    if [ $? -eq 0 ]; then
        echo "✅ 前端依赖安装成功"
    else
        echo "❌ 前端依赖安装失败"
        exit 1
    fi
    cd ..
else
    echo "⚠️  未找到frontend目录"
fi
echo ""

# 4. 启动服务
echo "🚀 启动服务..."
if [ -f "start.sh" ]; then
    # 创建日志目录
    mkdir -p log
    chmod +x start.sh
    bash start.sh
    if [ $? -eq 0 ]; then
        echo "✅ 服务启动成功"
    else
        echo "❌ 服务启动失败"
        exit 1
    fi
else
    echo "❌ 未找到start.sh启动脚本"
    exit 1
fi

echo ""
echo "🎉 所有步骤已完成！"
echo "📊 系统信息:"
echo "   后端API服务器: http://localhost:5001"
echo "   前端应用: http://localhost:3000"
echo ""
echo "🕒 定时任务已启用:"
echo "   每5分钟: 端口监控和自动提交"
echo "   每天15:01: 数据分析脚本"